/*
 ** 弃用 svg-sprite-loader 该用 rt-svg-sprite-loader，以便项目进行打包优化升级
 */
// const req = require.context(
//   '!svg-sprite-loader?{"symbolId":"rt-base-[name]"}!./svgs',
//   false,
//   /.svg$/
// );

// const requireAllSvgs = requireContext =>
//   requireContext.keys().map(requireContext);

// requireAllSvgs(req);

/*
 ** 使用 rt-svg-sprite-loader 替代 svg-sprite-loader 来兼容 webpack 4.X 带来无法为 svg 添加前缀问题；
 ** 如果项目升级 webpack 4.X 
     - 需要修改所有本身 svg 的 loader 以及依赖的 svg loader 为 rt-svg-sprite-loader
 ** 
 ** 此外，webpack 不做升级的项目，无需担心兼容性问题；
 */
const req = require.context(
  '!rt-svg-sprite-loader?{"symbolId":"rt-base-[name]"}!./svgs',
  false,
  /.svg$/
);

const requireAllSvgs = requireContext =>
  requireContext.keys().map(requireContext);

requireAllSvgs(req);

/*
 ***
 */
// const prefix = 'rt-base-'; // svg 前缀
// const req = require.context(
//   '!svg-sprite-loader?{"symbolId":"rt-base-[name]"}!./svgs',
//   false,
//   /.svg$/
// );

// const requireAllSvgs = requireContext =>
//   requireContext.keys().map(key => {
//     // 获取 svg 资源
//     const svg = requireContext(key).default;
//     /* 获取 svg node 节点，如果存在，判断 node 节点 id 是否包含前缀 prefix，如果没有将 prefix + id 赋值给 node 节点的 id
//      ** 添加这个是为了 webpack 升级到 4.X 之后无法读取 loader query 设置的文件名称
//      ** 该方法存在问题，当项目使用的 svg 与 vue-xmobile 重复时，vue-xmobile 会被替换；
//      */
//     if (svg.node && !svg.node.id.includes(prefix)) {
//       svg.node.id = prefix + svg.id;
//     }
//     return svg;
//   });

// requireAllSvgs(req);
